/*********************************************************************************
* Copyright (c) zhujinyang.
* All rights reserved.
*
* \file
*
* \system debug printf
*
* 
*********************************************************************************/
#ifndef MAL_PRINTF_H
#define MAL_PRINTF_H





/**********************************************************************************
* \brief:       printf
* \param[in]:   str:     string to be output
* \return:      0: success
**********************************************************************************/
INT32S printf_com(const char *str, ...);

/**********************************************************************************
* \brief:       printf
* \param[in]:   fmt:     string to be output
* \return:      > 0: success
**********************************************************************************/
INT8U *printf_buffer(INT8U *buffer, const char *fmt, ...);

/**********************************************************************************
* \brief:       asiic to int
* \param[in]:   fmt:     string to be output
* \return:      > 0: success
**********************************************************************************/
INT32S printf_atoi(const char *str);

/**********************************************************************************
* \brief:       printf hexadec
* \param[in]:   data:     data pointer
* \param[in]:   datalen:     data length
* \return:      > 0: success
**********************************************************************************/
INT32S printf_hexadec(INT8U *data, INT32U datalen);

/**********************************************************************************
* \brief:       print init
* \param[in]:   none
* \return:      none
**********************************************************************************/
void mal_printf_init(void);


#endif

